home *** CD-ROM | disk | FTP | other *** search
- Documentation Courtesy of
- Jacobsen Consulting,
- Fort St. John, B.C.
- PRFIX
-
- This information will help you correct some possible problems
- with using spooled printers from a NOVELL file server.
-
- The problem occurs when printing to a printer from the server
- using BASIC, or a compiled BASIC program, or a program
- compiled in one of several other languages. From DOS, you
- may be able to copy to a file, but the error occurs only
- from within the program.
-
- Up to three parallel printers can be supported under DOS and
- NOVELL. The port addresses used by DOS are located at
- memory locations 408-40F. Each address is two bytes long,
- so as you can see, there really is room for 4 printers,
- but only 3 are supported. If you want to use 3 printers,
- one of the printer ports must be on a monochrome card.
-
- PRINTER LOCATION ADDRESS ADDRESS
- OF PORT WITH W/O
- ADDRESS MONO CARD MONO CARD
-
- LPT1: 0000:0408 3BC 378
- LPT2: 0000:040A 378 278
- LPT3: 0000:040C 278 N/A
-
-
- This problem may ALSO occur if trying to print to a non-spooled
- printer on the server that has some of the printers spooled.
- I've noticed that NOVELL and DOS number the printers differently.
- In this case, you may have to use DEBUG to modify the address
- sent to a given port to solve your particular problem. In a
- recent test on a computer with 3 printers, DOS and NOVELL swapped
- LPT1: and LPT2: (One adds from right to left, the other from
- left to right) If you are using only spooled printers, then
- the address entered into those locations don't really matter,
- as long as they are non-zero. (Ala the original PRFIX)
-
- The following three programs will fix up either printer port
- 1, 2 or 3. The old PRFIX.COM file only fixed printer port 1.
- The assembly language listings are shown below in case you have
- to modify the addresses, or combine all three into one program.
-
- LPT1: LPT2: LPT3:
- PR1FIX PR2FIX PR3FIX
-
- PUSH DS PUSH DS PUSH DS
- MOV AX,0000 MOV AX,0000 MOV AX,0000
- MOV DS,AX MOV DS,AX MOV DS,AX
- MOV BL,BC MOV BL,78 MOV BL,78
- MOV [0408],BL MOV [040A],BL MOV [040C],BL
- MOV BL,03 MOV BL,03 MOV BL,02
- MOV [0409],BL MOV [040B],BL MOV [040D],BL
- POP DS POP DS POP DS
- INT 20 INT 20 INT 20
-
-